home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / PACKET / UPDAT630 / NODE2BAY.TXT < prev    next >
Text File  |  1997-06-24  |  16KB  |  377 lines

  1. NODE2BAY.EXE V1.3 (c) G4IDE, June 1997
  2. --------------------------------------
  3.  
  4. This file contains some very useful information. The last paragraph
  5. might be just as interesting and useful as the first, so please try and
  6. read it all!
  7.  
  8. What It Does
  9. ------------
  10. NODE2BAY.EXE acts as an interface between G8BPQ's BPQCODE node software
  11. and G7JJF's BAYDRV Baycom driver for Windows - that is why it is called
  12. NODE2BAY. It allows Windows packet applications which support BPQ (such
  13. as WinPack) to be used with BAYDRV and therefore with a Baycom modem.
  14. NODE2BAY is not in itself a Baycom driver, BAYDRV.VXD is the driver,
  15. which is (c) Jon Welch, G7JJF. If you have any problems using BAYDRV in
  16. conjunction with NODE2BAY.EXE, please contact myself, DO NOT contact
  17. G7JJF. BAYDRV is a very clever piece of software and I would like to
  18. thank G7JJF for giving his permission for it to be used in this
  19. application.
  20.  
  21. Getting Started
  22. ---------------
  23. My suggested route to using a Baycom modem with BPQ, NODE2BAY, BAYDRV
  24. and Windows is as follows:-
  25.  
  26. 1. Make sure your modem works by using it in DOS with a DOS packet
  27. program that supports it, such as the Baycom software.
  28.  
  29. 2. Learn how to use BPQ - there's no easy way, you simply have to read
  30. the docs! Run BPQ and the modem in DOS by using something like BPQAX25
  31. as an interface between the modem and BPQ.
  32.  
  33. 3. If you've successfully made it this far, follow the instructions in
  34. the next section. If you skip any of the above steps and then find you
  35. have problems with the Windows setup, you won't have a clue as to what
  36. is not working.
  37.  
  38. Installation
  39. ------------
  40. Note that, to use BPQ underneath Windows, you need version 4.08a or
  41. later.
  42.  
  43. 1. Put BAYDRV.VXD and NODE2BAY.EXE in your WINPACK directory.
  44.  
  45. 2. Edit BPQCFG.TXT in your BPQ directory and put in a port entry
  46. something like this:-
  47.  
  48. PORT
  49. ID=BAYCOM
  50. TYPE=EXTERNAL
  51. CHANNEL=A
  52. INTLEVEL=96
  53. MAXFRAME=2
  54. FULLDUP=0
  55. FRACK=7000
  56. RESPTIME=2000
  57. RETRIES=10
  58. PACLEN=120
  59. QUALITY=10
  60. UNPROTO=ID
  61. ENDPORT
  62.  
  63. 3. Run BPQCFG.
  64.  
  65. 4. Edit AUTOEXEC.BAT and put at the end (or before any possible WIN
  66. command) something like:-
  67.  
  68. REM the next like is typical for a *standard* COM1.
  69. C:\WINPACK\NODE2BAY.EXE -I4 -B3f8 -i60 -dC:\WINPACK\BAYDRV.VXD
  70. PAUSE
  71. CD \BPQ
  72. BPQCODE
  73. CD \
  74.  
  75. NOTE - the "-I", "-B", "-i" and "-d" are case sensitive.
  76.  
  77. If you are using the modem on a *standard* COM2, then use:-
  78.  
  79. C:\WINPACK\NODE2BAY.EXE -I3 -B2f8 -i60 -dC:\WINPACK\BAYDRV.VXD
  80.  
  81. The "-i" parameter is the software interrupt to be used and must match the
  82. INTLEVEL in BPQCFG.TXT. NOTE - INTLEVEL is in decimal, "-i" is in hex, so
  83. "-i60" matches "INTLEVEL=96". This may seem rather strange, but I have
  84. kept the NODE2BAY arguments as compatible as possible with the DOS BPQAX25
  85. driver. Software interrupts may be used by other applications. If you are
  86. loading other drivers in AUTOEXEC.BAT or CONFIG.SYS, particularly anything
  87. like an ethernet packet driver, it is up to you to make sure that nothing
  88. elses is using the software interrupt you select.
  89.  
  90. You MUST use the correct IRQ (the -I argument) and the correct address
  91. (the -B argument) for the port on which you are using the modem. DON'T
  92. try and use a port that shares an IRQ if there is going to be an active
  93. device on the other port using the same IRQ. A common PC setup is that
  94. COM1 and COM3 use IRQ4, COM2 and COM4 use IRQ3. If you have another
  95. active device on a port using the same IRQ as the one you are using with
  96. this driver, you will get in a big mess!
  97.  
  98. 5. Restart the PC - when the PAUSE in AUTOEXEC.BAT occurs the screen
  99. should be displaying the load message from NODE2BAY - check that the
  100. parameters look ok.
  101.  
  102. 6. Run Windows.
  103.  
  104. 7. Start WinPack and select "Options", "Comms Setup", "Host mode BPQ".
  105. If you get error messages then you probably haven't put the BPQ files
  106. BPQCODE.386 and BPQDLL.DLL in WINDOWS\SYSTEM. If, when you started
  107. WinPack, it was set up to use a normal TNC on the port where you now
  108. have the modem, you should restart the PC, because WinPack may have
  109. interfered with the port (see "Known Problems/Limitations", point 3,
  110. below).
  111.  
  112. 8. It should all now work!
  113.  
  114. NODE2BAY Options
  115. --------------
  116. The full list of possible command line arguments for NODE2BAY is as
  117. follows:-
  118.  
  119. -i<software interrupt>     default 60h (96 decimal)
  120.  
  121. -I<COM port interrupt>     default 4 (COM1)
  122.  
  123. -B<COM port address>       default 3F8h (COM1)
  124.  
  125. -b<bit rate>               default 1200 (should never need changing)
  126.  
  127. -c<DCD mode>               default 3. The options are:-
  128.                               0 - ignore channel activity.
  129.                               1 - use DCD input from modem to detect
  130.                                   channel activity. A standard Baycom
  131.                                   modem does not support this.
  132.                               2 - Use any sort of noise input to detect
  133.                                   channel acitvity - use with squelched
  134.                                   rig.
  135.                               3 - 'Soft DCD'. Analyse the incoming noise
  136.                                   to detect packet activity - use with
  137.                                   an unsquelched rig.
  138.  
  139. -T<soft DCD threshold>     default 50. A larger number makes it less
  140.                            likely that noise will be detected as valid
  141.                            packet activity.
  142.  
  143. -s<slot time in bits>      default 120.
  144.  
  145. -p<persistance>            default 64.
  146.  
  147. -h<TX delay in bits>       default 360 = 300 msec.
  148.  
  149. -t<TX tail in bits>        default 24 = 20 msec.
  150.  
  151. -w<walk_step_div>          default 16. This is an internal parameter
  152.                            used in the decoding of received frames in
  153.                            BAYDRV.VXD. Try 32 or 64 if reception seems
  154.                            poor.
  155.  
  156. -l<load driver>            default is '1', which makes NODE2BAY attempt
  157.                            to load BAYDRV.VXD when Windows starts. If
  158.                            you put '0' then it assumes the VXD has been
  159.                            loaded in SYSTEM.INI. (If you have WinTNC
  160.                            installed on your PC, you should use '-l0').
  161.  
  162. -d<path to driver>         default "\WINDOWS\SYSTEM\BAYDRV.VXD". So, if
  163.                            you put BAYDRV.VXD in WINDOWS\SYSTEM and
  164.                            always start Windows from the drive where
  165.                            your WINDOWS directory is, you don't need to
  166.                            use the "-d" argument.
  167.  
  168. If It Doesn't Work
  169. ------------------
  170. 1. Check your AUTOEXEC.BAT and BPQCFG.TXT entries again. Make sure that
  171. the port address and IRQ you have specified are correct for the port you
  172. are using - if necessary check the jumpers on the I/O card. Make sure
  173. that INTLEVEL in the BPQ port definition matches the NODE2BAY "-i"
  174. parameter, noting the above comments that one is decimal and the other
  175. is hex.
  176.  
  177. 2. If you have a scope available, check the signal on the TXD pin of the
  178. COM port (pin 2 on a 25 pin connector, pin 3 on a 9 pin connector) after
  179. Windows has started. It should be an asymmetric square wave, mainly +ve,
  180. with a period of just over 80 msecs. If you have an RS232 "mini tester"
  181. (a thing with LEDs on it that plugs into a serial port - very useful)
  182. the TXD LED should flicker rapidly. If there is no activity on that pin,
  183. it almost certainly means that the address and IRQ you are passing to
  184. NODE2BAY are wrong.
  185.  
  186. 3. If you get a message when Windows starts saying it can't find
  187. BAYDRV.VXD, check the "-d" parameter for NODE2BAY.
  188.  
  189. 4. If you get a message when Windows starts saying it can't find
  190. BPQCODE.386, check the following:-
  191.  
  192. BPQCODE.386 must be in a directory called \WINDOWS\SYSTEM on the drive
  193. from which you start Windows. It doesn't matter if your Windows is in a
  194. directory called WIN31 or WIN95, BPQCODE.386 MUST be in \WINDOWS\SYSTEM.
  195. If necessary, make the directory just for this one file. Also, you MUST
  196. start Windows from the drive on which this directory lives. This is
  197. because the path to BPQCODE.386 is hard-coded into BPQCODE.EXE.
  198.  
  199. 5. If the modem transmits ok but it will not receive, or it receives
  200. very poorly, the following might help:-
  201.  
  202. Originally I found on both my DX2 and P120 PCs that the Baycom driver
  203. worked a lot better on some ports than on others. It just didn't seem
  204. to want to receive on some ports and all the ports that gave problems
  205. had 16550 (buffered) UARTs.
  206.  
  207. I had seen comments from other people about problems with Baycom modems
  208. and 16550s, but I just could not understand why there should be such a
  209. problem. Eventually I found the solution to my own problems - it might
  210. not work for everyone, but if it works on two of my PCs then I'm sure
  211. there will be a lot of other people who will find that it works!
  212.  
  213. Both my Baycom modems are built on boards from a well known UK supplier
  214. of PCBs and kits (Badger Boards). They drive the CTS output direct from
  215. the 74HC04, and the low voltage on the output is about +0.5V - it never
  216. swings negative. That may be in spec for TTL, but it's way out of spec
  217. for RS232. I have another genuine Baycom board, which I have never got
  218. round to building, that drives the CTS output via a PNP transistor which
  219. ensures that the output voltage can swing negative.
  220.  
  221. I modded both my boards to the Baycom design and the driver then worked
  222. perfectly! The implication of this is that the problem is not caused by
  223. the 16550 or its emulation, but by the line receiver arrangements being
  224. more in spec than those employed with older UARTs.
  225.  
  226. Here's the mod - I'm not too good at ASCII schematics, so I hope it
  227. makes sense! (The original circuit has a 2k2 from pin 6 on the 74HC04 to
  228. pin 8 on the 9 pin 'D'). "+5V" is the output from the regulator, which
  229. goes to pin 1 on the TCM3105, pin 14 on the 74HC04, etc.
  230.  
  231.                              RTS (pin 7 on 9 pin 'D')
  232.                               |
  233.                               <
  234.                               < 10k
  235.                               <
  236.                               |--/\/\/\--- CTS (pin 8 on 9 pin 'D')
  237.                              C|   2k2
  238.                        10k   /
  239.     74HC04 pin 6 ---/\/\/\--|B   BC213L or similar *PNP* transistor
  240.                              \
  241.                              E|
  242.                               |
  243.                              +5V
  244.  
  245. Known Problems/Limitations
  246. --------------------------
  247. 1. I have used BPQ/NODE2BAY/BAYDRV with the following PCs:-
  248.    P120 with Win95 and 32Mb of RAM.
  249.    P120 with Windows for Workgroups and 32Mb of RAM.
  250.    DX4/100 with Win95 and 12Mb RAM.
  251.    DX2/66 with Win95 and 16Mb RAM (most testing done on this system).
  252.  
  253. I tried to use it with the DX2 and Windows for Workgroups 3.11, but
  254. reception was very poor. That could well be a problem with this
  255. particular PC - when running Windows for Workgroups it always gave
  256. problems when I tried to use TF host mode with WinPack. I don't have any
  257. PCs with either Windows 3.1 or 3.11 on them. I don't have anything less
  258. than a DX2/66. I don't have any PCs with less RAM than the above
  259. systems. In this type of application, where a large number of hardware
  260. interrupts are being serviced, Win95 is definitely better than Windows
  261. 3.1x.
  262.  
  263. 2. BAYDRV does a lot of work and services a huge number of interrupts.
  264. It hits the performance of the PC. With BPQ also having an effect on
  265. performance, the DX2 feels a bit "clunky".
  266.  
  267. 3. When the driver is using a COM port, another Windows app can still
  268. open the port - it is, of course, up to you as the user of the PC to
  269. make sure that doesn't happen! You can if you wish "hide" the port from
  270. Windows, see the WinPack help file - "Support for BPQ", "WinPack and
  271. BPQ" for information on how to do this.
  272.  
  273.  
  274. Using More Than One Baycom Modem
  275. --------------------------------
  276. During testing on the DX2, I have been running two BPQ ports with Baycom
  277. modems quite successfully. If you want to give it a try, do the
  278. following:-
  279.  
  280. 1. Create a second port entry in BPQCFG.TXT, more or less the same as
  281. the first, but use a different INTLEVEL - 97 should be ok.
  282.  
  283. 2. Load a second copy of NODE2BAY.EXE in AUTOEXEC.BAT, specifying a
  284. different COM port and whatever INTLEVEL you have used in BPQCFG.TXT for
  285. the second port. For example:-
  286.  
  287. C:\WINPACK\NODE2BAY.EXE -I3 -B2f8 -i61 -l0
  288.  
  289. The "-l0" tells this copy of NODE2BAY.EXE not to try and load BAYDRV.VXD
  290. when Windows starts. However, it isn't really needed, because a second
  291. copy will detect that a previous copy has been loaded and will never
  292. attempt to load the VXD.
  293.  
  294. 3. You should now have two Baycom ports! However, how well they work
  295. depends a lot on the speed of the PC.
  296.  
  297. For The Technically Minded
  298. --------------------------
  299. NODE2BAY acts as an external port driver for BPQCODE using the software
  300. interrupt specified in INTLEVEL in BPQCFG.TXT and the "-i" NODE2BAY
  301. parameter. It provides an interface (or shim) between BPQCODE and
  302. BAYDRV, which is the Baycom driver.
  303.  
  304. Until Windows starts up, NODE2BAY provides a dummy port on which nothing
  305. can be sent or received.
  306.  
  307. When NODE2BAY detects that Windows is starting, it requests Windows to
  308. load BAYDRV.VXD (unless you have specified the "-l0" parameter).
  309.  
  310. About 10 seconds after Windows initialisation is complete, NODE2BAY
  311. looks for the loaded copy of BAYDRV, if it finds it then it initialises
  312. a port according to the various command line parameters. If
  313. initialisation is successful, the port becomes active. If NODE2BAY can't
  314. find BAYDRV or the initialisation fails, the port remains dummied out.
  315.  
  316. Because BAYDRV is a VxD, it runs in privilege ring 0, which means that
  317. it is able to service hardware interrupts almost as quickly as an
  318. application running in DOS. This gets rid of the problems of interrupt
  319. latency which stop drivers such as BPQAX25 working effectively
  320. underneath Windows.
  321.  
  322. Disclaimer, Etc.
  323. ----------------
  324. BAYDRV.VXD and NODE2BAY.EXE are supplied on the basis that if you can
  325. get them to work, I'm happy for you, if you mess up your PC in the
  326. process, don't blame me! In other words, you use them entirely at your
  327. own risk.
  328.  
  329. You may use this driver combination with programs other than WinPack.
  330.  
  331. BAYDRV.VXD is (c) Jon Welch, G7JJF.
  332. NODE2BAY.EXE is (c) Roger Barker, G4IDE.
  333.  
  334. History
  335. -------
  336. V1.1, 09 Jun 1997 - first public release.
  337.  
  338. V1.2, 12 Jun 1997 - Renamed from BPQJJF.EXE to NODE2BAY.EXE. This was to
  339.                     try and make sure that people at least read the
  340.                     first paragraph of the documentation to find out to
  341.                     whom they should direct their questions! (With half
  342.                     of two well known callsigns in the title, it was too
  343.                     easy to start hassling the wrong people!  ;-)
  344.  
  345.                     The driver does not install if a COM port doesn't
  346.                     exist at the specified address.
  347.  
  348.                     The start up info now includes whether the port has
  349.                     a 16550 (buffered) UART.
  350.  
  351.                     Minor changes to documentation.
  352.  
  353. V1.3, 20 Jun 1997 - The driver does not install if BAYDRV.VXD cannot be
  354.                     found.
  355.  
  356.                     A message is displayed when Windows starts up if
  357.                     NODE2BAY asks Windows to load BAYDRV.VXD.
  358.  
  359.                     With previous versions, if you exited from Windows
  360.                     and then restarted Windows without rebooting the PC,
  361.                     NODE2BAY did not reinitialise correctly. Now fixed.
  362.  
  363.                     A check added to make sure that it is Windows
  364.                     starting and not a DOS 286 extender (highly
  365.                     unlikely!)
  366.  
  367.  
  368. Roger Barker, G4IDE
  369. roger@peaksys.demon.co.uk
  370. http://www.peaksys.demon.co.uk
  371.  
  372. G4IDE@GB7OAR.#16.GBR.EU
  373. G8MZX@GB7SKG.#15.GBR.EU
  374.  
  375. 20 June 97
  376.  
  377.